import request from '@/utils/request'

// 查询所有类目树形
export function fetchCategoryTree(classifyCode) {
  return request({
    url: `/api/v1/contentCategory/tree`,
    method: 'get',
    headers: {
      'Permission-PerCode': 'category',
      'Permission-App': 'content-center'
    },
    params: { classifyCode }
  })
}

// 查询启用的类目树形
export function getCategoryTree(classifyCode, pageCode) {
  return request({
    url: `/api/v1/contentCategory/tree`,
    method: 'get',
    headers: {
      'Permission-PerCode': pageCode || 'category',
      'Permission-App': 'content-center'
    },
    params: { classifyCode, state: 1 }
  })
}

/**
 * 类目详情
 * @param {String} id
*/
export function getDetail(id) {
  return request({
    url: `/api/v1/contentCategory/${id}`,
    method: 'get'
  })
}

/**
 * 删除类目
 * @param {String} id
*/
export function deleteCategory(id) {
  return request({
    url: `/api/v1/contentCategory/${id}`,
    method: 'delete'
  })
}

/**
 * 排序（置顶，上移，下移，置底）
 * @param {number } type 移动类型：1上移 2下移 3置顶 4置底 5全局移动
 * @param {string} id
 * */
export function updateCategorySort({ type, id }) {
  return request({
    url: `/api/v1/contentCategory/move/${id}`,
    method: 'put',
    params: { type }
  })
}

/**
 * 保存类目
 * @param {Object} data 保存数据
 * @param {string} data.id
 *
 * @param {string} data.parentId  上一级目录id
 * @param {string} data.categoryName  类目名称
 * @param {string} data.iconUrl  类目图标
 * @param {string} data.state 状态 ： 1 启用 / 0 禁用
 * @param {string} data.classifyCode 业务模块编码
 * @param {string} data.classifyName 业务模块名称
 *
 * */
export function saveCategory(data) {
  return request({
    url: '/api/v1/contentCategory',
    method: data.id ? 'put' : 'post',
    data
  })
}

/** *
 * 移动
 * @param {number } type 移动类型：1上移 2下移 3置顶 4置底 5全局移动
 * @param {string } parentId 是移动到的类目id
 * @param {string} id
*/
export function removeCategory({ id, parentId }) {
  return request({
    url: `/api/v1/contentCategory/move/${id}`,
    method: 'put',
    params: { id, type: 5, parentId }
  })
}
